| Filename | (eval 13)[/usr/local/share/perl/5.18.2/Sub/Quote.pm:3] |
| Statements | Executed 15 statements in 448µs |
| Eval Invoked At | /usr/local/share/perl/5.18.2/Sub/Quote.pm line 3 |
| Sibling evals | 1, 2 |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 3 | 2 | 2 | 53µs | 1.71ms | Method::Generate::Constructor::new |
| 1 | 1 | 1 | 16µs | 29µs | Sub::Quote::BEGIN@4 |
| 1 | 1 | 1 | 8µs | 8µs | Method::Generate::Constructor::BEGIN@10 |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | { | ||||
| 2 | 2 | 2µs | my $_QUOTED = ${$_[1]->{"\$_QUOTED"}}; | ||
| 3 | 1 | 400ns | my $_UNQUOTED = ${$_[1]->{"\$_UNQUOTED"}}; | ||
| 4 | 2 | 84µs | 2 | 42µs | # spent 29µs (16+13) within Sub::Quote::BEGIN@4 which was called:
# once (16µs+13µs) by Sub::Quote::_clean_eval at line 4 # spent 29µs making 1 call to Sub::Quote::BEGIN@4
# spent 13µs making 1 call to warnings::unimport |
| 5 | package Method::Generate::Constructor; | ||||
| 6 | # spent 1.71ms (53µs+1.66) within Method::Generate::Constructor::new which was called 3 times, avg 571µs/call:
# 2 times (39µs+1.66ms) by Moo::_constructor_maker_for at line 212 of Moo.pm, avg 850µs/call
# once (14µs+0s) by Moo::_constructor_maker_for at line 67 of Sub/Defer.pm | ||||
| 7 | ($_QUOTED,$_UNQUOTED) if 0; | ||||
| 8 | # BEGIN quote_sub PRELUDE | ||||
| 9 | package Method::Generate::Constructor; | ||||
| 10 | # spent 8µs within Method::Generate::Constructor::BEGIN@10 which was called:
# once (8µs+0s) by Sub::Quote::_clean_eval at line 15 | ||||
| 11 | 1 | 1µs | $^H = "2018"; | ||
| 12 | 1 | 600ns | ${^WARNING_BITS} = "UUUUUUUUUUUUUU\025"; | ||
| 13 | 1 | 7µs | %^H = ( | ||
| 14 | ); | ||||
| 15 | 1 | 330µs | 1 | 8µs | } # spent 8µs making 1 call to Method::Generate::Constructor::BEGIN@10 |
| 16 | # END quote_sub PRELUDE | ||||
| 17 | 2 | 2µs | my $class = ref($_[0]) ? ref(shift) : shift; if ($class ne "Method::Generate::Constructor") { | ||
| 18 | if ($Moo::MAKERS{$class}) { | ||||
| 19 | if ($Moo::MAKERS{$class}{constructor}) { | ||||
| 20 | package Method::Generate::Constructor; | ||||
| 21 | return $class->SUPER::new(@_); | ||||
| 22 | } | ||||
| 23 | Moo->_constructor_maker_for($class); | ||||
| 24 | return $class->new(@_); | ||||
| 25 | } elsif ($INC{"Moose.pm"} and my $meta = Class::MOP::get_metaclass_by_name($class)) { | ||||
| 26 | return $meta->new_object( | ||||
| 27 | $class->can("BUILDARGS") ? $class->BUILDARGS(@_) | ||||
| 28 | : $class->Moo::Object::BUILDARGS(@_) | ||||
| 29 | ); | ||||
| 30 | } | ||||
| 31 | } | ||||
| 32 | my $args = scalar @_ == 1 | ||||
| 33 | ? ref $_[0] eq 'HASH' | ||||
| 34 | 1 | 3µs | ? { %{ $_[0] } } | ||
| 35 | : die "Single parameters to new() must be a HASH ref" | ||||
| 36 | . " data => ". $_[0] ."\n" | ||||
| 37 | : @_ % 2 | ||||
| 38 | ? die "The new() method for $class expects a hash reference or a" | ||||
| 39 | . " key/value list. You passed an odd number of arguments\n" | ||||
| 40 | : {@_} | ||||
| 41 | ; | ||||
| 42 | 1 | 1µs | my $new = bless({}, $class);; | ||
| 43 | 1 | 11µs | (exists $args->{"accessor_generator"} and ($new->{"accessor_generator"} = $args->{"accessor_generator"})),(exists $args->{"attribute_specs"} and ($new->{"attribute_specs"} = $args->{"attribute_specs"})),(exists $args->{"construction_builder"} and ($new->{"construction_builder"} = $args->{"construction_builder"})),(exists $args->{"construction_string"} and ($new->{"construction_string"} = $args->{"construction_string"})),(exists $args->{"package"} and ($new->{"package"} = $args->{"package"})),(exists $args->{"subconstructor_handler"} and ($new->{"subconstructor_handler"} = $args->{"subconstructor_handler"})), return $new; | ||
| 44 | } | ||||
| 45 | 1 | 1µs | $$_UNQUOTED = \&new | ||
| 46 | } | ||||
| 47 | 1 | 5µs | 1; | ||
| 48 | |||||
| 49 | ; |